tests: Avoid rounding error and correct source pixels
authorMartin Nordholts <martinn@src.gnome.org>
Fri, 18 May 2012 11:31:38 +0000 (13:31 +0200)
committerMartin Nordholts <martinn@src.gnome.org>
Fri, 18 May 2012 11:31:38 +0000 (13:31 +0200)
In float-to-8bit.c and "float -> u8 6", change 0.3 to 0.301 since 0.3
/ 0.6 * 255 = 127.5, so the slightest platform specific rounding error
will give different results for u8 (127 or 128).

Also correct G'a and B'a values in the third pixel to match expected
values, the source values seems to have forgotten about
premultiplication.

tests/float-to-8bit.c

index 3ba6cb9f7bdec7e44549dba493074da4a6e9c7e5..3634506f6a8fc00dd9225aeeed9453e92936790b 100644 (file)
@@ -87,7 +87,7 @@ main (int    argc,
   }
 
   {
-    float in[][4]   = {{ 0.21582, -0.55, -0.14, 1.0 }, {0.2, 0.3, 0.5, 0.6}, {0.0, 1.0, 2.0, 3.0}};
+    float in[][4]   = {{ 0.21582, -0.55, -0.14, 1.0 }, {0.2, 0.3.01, 0.5, 0.6}, {0.0, 3.0, 6.0, 3.0}};
     unsigned char out[][4]  = {{55, 0, 0, 255 }, {85,128,212,153}, {0,255,255,255}};
 
     CHECK_CONV("float -> u8 6", unsigned char,